package com.vca.service.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.vca.common.model.course.CourseAbout;
import com.vca.common.request.CourseAboutAddRequest;
import com.vca.common.response.CourseAboutAdminResponse;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 相关课程表（课程） 服务类
 * </p>
 *
 * @author chenBing
 * @since 2022-10-17
 */
public interface CourseAboutService extends IService<CourseAbout> {

    /**
     * 添加大量相关课程
     * @param courseAboutList
     * @author Li
     * @date    2022/11/18 10:41
     * @return
     */
    public boolean addCourseAboutList(List<CourseAbout> courseAboutList);

    /**
     * 校验添加的相关课程是否存在
     * @author Li
     * @date 2022/11/22 14:35
     * @param listMap
     */
    public void checkWhetherCourseAbout(Map<Integer, List<CourseAboutAddRequest>> listMap);

    /**
     * 校验添加的相关课程是否存在
     * @author Li
     * @date 2022/11/22 14:35
     * @param listMap
     */
    public List<CourseAboutAdminResponse> getAdminCourseAbout(Map<Integer, List<CourseAbout>> listMap, Map<String, List<HashMap<String, Object>>> courseAdminConfig);

    /**
     * 相关课程修改
     * @param courseAboutList
     * @author Li
     * @date    2022/11/22 15:15
     * @return
     */
    boolean updateCourseAboutList(List<CourseAbout> courseAboutList,Long mainAboutId);
    
    /**
     * @description 根据id列表逻辑删除 
     * @methodName delByids
     * * @param ids 
     * @author Li
     * @date 2023/1/3 16:40
     * @return boolean
     */
    boolean delByids(List<Long> ids);
}
